<template>
  <div class="col-md-4">
    <form class="form-horizontal">
      <div class="form-group">
        <label>用户名</label>
        <input type="text" class="form-control" placeholder="用户名" v-model="username">
      </div>
      <div class="form-group">
        <label>评论内容</label>
        <textarea class="form-control" rows="6" placeholder="评论内容" v-model="content"></textarea>
      </div>
      <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
          <button type="button" class="btn btn-default pull-right" @click.prevent="add">提交</button>
        </div>
      </div>
    </form>
  </div>
</template>

<script>
  export default {
    name: "Add",
    props: {
      addComment: { // 指定属性名 属性值 必要性
        type: Function,
        required: true
      } // 声明接收数据
    },
    data() {
      return {
        username: '',
        content: ''
      }
    },
    methods: {
      add() {
        // 1. 自动收集表单数据
        const {addComment} = this; // 这个this是当前组件，而不是我们最终的vm

        // 检查输入的合法性
        const username = this.username.trim();
        const content = this.content.trim();

        if (!username || !content) {
          alert("姓名 或者 内容不能为空！");
          return
        }

        // 2. 数据交互
        addComment({username, content});

        // 清除输入框的数据
        this.username = '';
        this.content = '';
      }
    }
  }
</script>

<style scoped>

</style>
